java JDBC未将根用户传递给DriverManager。获取连接
这是我的密码:
import java.sql.*;
import com.mysql.jdbc.Statement;
public class Test {
public static void main(String[] args) throws SQLException{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Something happened badly");
e.printStackTrace();
}
final String DB_URL = "jdbc:mysql://localhost/";
final String USER = "root";
final String PASSWORD = "XXXXX";
Connection conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);
//String db = "CREATE DATABASE TEST1";
String use_db = "USE football_manager";
Statement stmt;
String createTable = "CREATE TABLE coffees "
+ "(COF_NAME VARCHAR(30),"
+ "SUPPLIER VARCHAR(30),"
+ "PRICE FLOAT,"
+ "STOCK INTEGER)";
try {
conn = DriverManager.getConnection(DB_URL);
//stmt = (Statement) conn.createStatement();
// stmt.executeUpdate(db);
stmt = (Statement) conn.createStatement();
stmt.executeUpdate(use_db);
stmt = (Statement) conn.createStatement();
stmt.executeUpdate(createTable);
stmt.close();
conn.close();
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
}
}
以下是我在控制台中不断收到的信息:
SQLException: Access denied for user ''@'localhost' to database
正如您所看到的,用户名一直为空。我正在使用Eclipse Luna。当我使用Eclipse开普勒时,它工作得很好
# 1 楼答案
你的问题是:
您正在获取第二个连接对象,但未发送用户凭据。我不确定您为什么想要/需要打开第二个连接,请使用第一个连接